#ifndef JBK_TYPES_H
#define JBK_TYPES_H

#include "base.h"

/* typedefs : signed */
typedef char      int8;
typedef short     int16;
typedef int       int32;
typedef long long int64;

/* typedefs : unsigned signed */
typedef unsigned int       uint;
typedef unsigned char      uint8;
typedef unsigned short     uint16;
typedef unsigned int       uint32;
typedef unsigned long long uint64;


ASSERT(sizeof(int) == sizeof(uint));

/* asserts : signed */
ASSERT(sizeof(int8)  == 1);
ASSERT(sizeof(int16) == 2);
ASSERT(sizeof(int32) == 4);
ASSERT(sizeof(int64) == 8);

/* asserts : unsigned */
ASSERT(sizeof(uint8)  == 1);
ASSERT(sizeof(uint16) == 2);
ASSERT(sizeof(uint32) == 4);
ASSERT(sizeof(uint64) == 8);

#endif // JBK_TYPES_H
